(function(jQuery) {

	$.MagnifierUtils = {


        /**
         * 初始化dc搜索框
         * @param id
         */
        initDcNo : function(id) {
            $('#'+id).searchbox(
                {
                    searcher : function(value, name) {
                        var param = 'magnifier/dcSearchPage'
                            + '?code='+id + '&cache' + new Date();
                        $.LmisUtils.openNewWindow('#magnifier_window',
                            'DC放大镜', 'icon-search', 800, 500, param,
                            '', true);
                    },
                    prompt : '请选择DC编码 ...'
                });
        },

        /**
         * 初始化dc搜索框
         * @param id
         */
        initDc : function(dcName,dcId) {

            $('#'+dcName).searchbox(
                {
                    searcher : function(value, name) {
                        var param = 'magnifier/dcSearchPage'
                            + '?chineseName='+dcName
                            + '&id='+dcId + '&cache' + new Date();
                        $.LmisUtils.openNewWindow('#magnifier_window',
                            'DC放大镜', 'icon-search', 800, 500, param,
                            '', true);
                    },
                    prompt : '请选择DC编码 ...'
                });

        },


            /**
         * 初始化客户账号查询搜索框
         * @param id
         */
        initCustomerNo : function(id) {
            $('#'+id).searchbox(
                {
                    searcher : function(value, name) {
                        var param = 'magnifier/archivesSearch'
                            + '?parentAccountNo='+id + '&cache'
                            + new Date();
                        $.LmisUtils.openNewWindow('#magnifier_window',
                            '客户放大镜', 'icon-search', 800, 500, param,
                            '', true);
                    },
                    prompt : '请选择客户编码 ...'
                });
        },


        /**
		 * 判断对象是否为空
		 */
		isNullObj : function(obj) {
			if (typeof obj == "undefined" || obj == null
					|| Object.keys(obj).length === 0) {
				return true;
			}
			return false;
		},

		/**
		 * 渲染 Searchbox
		 */
		renderSearchbox : function(searchbox) {
			$('#' + searchbox.nameNode.name).searchbox(
					{
						width : 150,
						onChange : function(value,name) {							
							$.MagnifierUtils.magnifierChange(searchbox,value);
						},
						searcher : function(value, name) {
							var param = searchbox.newWindowUrl
									+ "?"
									+ 'searchbox='
									+ encodeURI(encodeURI(JSON
											.stringify(searchbox)));
							// 打开窗口
							$.LmisUtils.openNewWindow('#magnifier_window',
									searchbox.newWindow_titleStr,
									'icon-search', 500, 500, param, '', true);
						},
						prompt : searchbox.prompt
					});

		},
		/**
		 * 放大镜内容改变触发事件
		 */
		magnifierChange : function(searchbox,value) {
			
			var codeNode = $("#" + searchbox.codeNode.name);
			var nameNode = $("#" + searchbox.nameNode.name);

			var name = value;
			if ($.StringUtils.isBlank(name)) {
				codeNode.val("");
				return;
			}
			$.ajax({
				type : "get",
				url : searchbox.refreshUrl + "?Login_SessionId=" + sessionId
						+ "&name=" + name,
				success : function(data) {
					var result = data;
					var resultData = result.data;
					if ($.MagnifierUtils.isNullObj(resultData)) {
						$.messager.show({
							title : '操作失败',
							msg : "没有数据",
							showType : 'slide',
							timeout : 1500,
							style : {
								right : '',
								top : document.body.scrollTop
										+ document.documentElement.scrollTop,
								bottom : ''
							}
						});
						codeNode.val("");
						nameNode.searchbox('setValue', "");
						return;
					}
					codeNode.val(eval('resultData.'
							+ searchbox.codeNode.columnName));
//					nameNode.searchbox('setValue', eval('resultData.'
//							+ searchbox.nameNode.columnName));

				}
			});
		},

		/**
		 * 获得table所有列
		 */
		getTableColumns : function() {
			var array = new Array();
			array[0] = new Array();
			array[0].push({
				field : 'id',
				title : $.i18n.prop("js.magnifier.datagrid.id"),
				hidden : true,
				width : 0,
				align : 'left'
			});
			array[0].push({
				field : 'code',
				title : $.i18n.prop("js.magnifier.datagrid.code"),
				width : 200,
				align : 'left'
			});
			array[0].push({
				field : 'name',
				title : $.i18n.prop("js.magnifier.datagrid.name"),
				width : 233,
				align : 'left'
			});

			return array;
		},

		/**
		 * 获得放大镜信息
		 * 
		 * @returns
		 */
		getSearchbox : function() {
			var searchboxJson = $('#magnifier_searchbox').val();
			return JSON.parse(searchboxJson);
		},
		/**
		 * 页面初始化函数
		 */
		init : function() {

			// 创建列表DataGrid
			$('#magnifier_table')
					.datagrid(
							{
								url : $.MagnifierUtils.getSearchbox().newWindowSearchUrl
										+ '?catch='
										+ new Date()
										+ '&name='
										+ $.MagnifierUtils.getMagnifierName()
										+ '&Login_SessionId=' + sessionId,
								method : 'get',
								title : $.MagnifierUtils.getSearchbox().newWindow_tableStr,
								iconCls : 'icon-large-smartart',
								pagination : true,
								rownumbers : true,
								striped : true,
								pageSize : 10,
								pageList : [ 10 ],
								columns : $.MagnifierUtils.getSearchbox().newWindowTableColumns,
								onDblClickRow : function(rowIndex, rowData) {
									// 向父页面赋值
									$.MagnifierUtils.resetParent(rowData);
									// 关闭放大镜窗口
									$("#magnifier_window").window('close');
								},
								onLoadError : function() {
									$.LmisUtils.opLoadError();
								}
							});
		},
		// 向父页面赋值
		resetParent : function(rowData) {
			// 向父页面赋值
			$('#' + $.MagnifierUtils.getSearchbox().codeNode.name)
					.val(
							eval('rowData.'
									+ $.MagnifierUtils.getSearchbox().codeNode.columnName));
			$('#' + $.MagnifierUtils.getSearchbox().nameNode.name)
					.searchbox(
							'setValue',
							eval('rowData.'
									+ $.MagnifierUtils.getSearchbox().nameNode.columnName));
		},
		/**
		 * 查询
		 */
		search : function() {
			$('#magnifier_table')
					.datagrid(
							{
								url : $.MagnifierUtils.getSearchbox().newWindowSearchUrl
										+ '?catch='
										+ new Date()
										+ '&name='
										+ $.MagnifierUtils.getMagnifierName()
										+ '&Login_SessionId=' + sessionId
							});
		},

		getMagnifierName : function() {
			return encodeURI($('#magnifier_name').val());
		}
	};
})(jQuery);
// $.MagnifierUtils.init();
